#ifndef __GAME__
#define __GAME__
#include "Header.h"
#include "StateMangager.h"

enum EGameStatus {
	EGSTATUS_INIT = 0,
	EGSTATUS_RUNNING,
	EGSTATUS_PAUSED,
	EGSTATUS_EXIT
};

class Game 
{
public:

	Game();
	virtual ~Game();
	virtual void update(float dt);
	virtual void render();
	virtual void exit();
	virtual void resume();
	virtual void pause();
	bool IsAlive() { return (m_eStatus != EGSTATUS_EXIT); }
	bool IsPause() { return (m_eStatus == EGSTATUS_PAUSED); }
protected:
	virtual void init() = 0;
	virtual void destroy() = 0;
protected:
	enum EGameStatus m_eStatus;
};

#endif